package cn.ante.org.domain;

import cn.ante.basic.domain.BaseDomain;
import cn.ante.org.service.IDepartmentService;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
* @Description: 部门实体类
* @Author: Nai
* @Version: 1.0
* @Date:  2022/6/21 18:53
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Department extends BaseDomain {
//       /* 部门id */
//       private Long id;

       /* 部门编号 */
       private String sn;

       /* 部门名称 */
       private String name;

       /* 部门的上级分类层级id */
       private String dirPath;

       /* 部门状态 1开启 0禁用 */
       private Integer state;

       /* 部门的管理员id */
       private Long managerId;

       /* 部门的上级部门id */
       private Long parentId;

       /* 传入部门经理对象 */
       private Employee manager;

       /* 传入上级部门对象 */
       private Department parent;

       // 使用此注解，当下面没有子类时，将不展示，不会显示空白
       @JsonInclude(JsonInclude.Include.NON_EMPTY)
       private List<Department> children = new ArrayList<Department>();
}
